Questões de pesquisa

QP1.1 Qual plataforma é modificada com mais frequência?

QP2.1 A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

QP2.2 Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

QP3.1 Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

QP4.1 Com quantas plataformas cada desenvolvedor trabalha?

QP4.2 Dos desenvolvedores que trabalham com uma plataforma, como é a distribuição de plataformas?

QP4.3 Dos desenvolvedores que trabalham com mais de uma plataforma, qual a porcentagem de desenvolvedores que trabalham com o código independente e outras plataformas?

QP5.1 Quantas plataformas são modificadas em conjunto em um commit?

QP5.2 Dos commits que modificaram uma plataforma, como é a distribuição de plataformas?

QP5.3 Dos commits que modificaram mais de uma plataforma, qual a porcentagem de commits que modificaram o código independente junto com o código específico de alguma plataforma?

Resultados - Análise quantitativa

Allegro

QP1 - Como é a distribuição de tarefas de manutenção entre o código independente e específico de plataforma?

Especifico -> Soma da quantidade de vezes que o código específico de cada plataforma é modificado.
Independente -> Quantidade de vezes que o codigo independente é modificado sozinho
especifico -> Quantidade de vezes que o codigo especifico de uma ou mais plataformas é modificado
ambos -> Quantidade de vezes que o codigo especifico e independente de uma ou mais plataformas sao modificados em conjunto

QP1.1 Qual plataforma é modificada com mais frequência?.
Contamos a quantidade de vezes que o código específico de cada plataforma é modificado.

QP2 - A equipe de desenvolvimento de bibliotecas multiplataforma é formada majoritariamente por desenvolvedores generalistas ou especialistas em plataformas?

esp -> desenvolvedores que trabalham apenas com uma plataforma.
gen -> desenvolvedores que trabalham com mais de uma plataforma.
NA -> desenvolvedores que tranbalham apenas com o código independente.
tipo n porc_dev
esp 7 31.8
gen 11 50.0
NA 4 18.2
QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialita em plataformas ao lonto do tempo?

QP3 - Os desenvolvedores de bibliotecas multiplataforma são especialistas em plataformas de um determinado tipo de dispositivo ou trabalham com plataformas de mais de um tipo de dispositivo?

None -> desenvolvedores que tranbalham apenas com o código independente.
Desktop -> desenvolvedores que tranbalham apenas com o código plataformas de dispositivos desktop
Mobile -> desenvolvedores que tranbalham apenas com o código plataformas de dispositivos mobile
Both -> desenvolvedores que tranbalham com o código plataformas de dispositivos mobile e desktop
dispositivo n_todos porc_todos
None 4 18.181818
Desktop 5 22.727273
Mobile 2 9.090909
Both 11 50.000000
QP3.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialita em dipositivos ao lonto do tempo?

QP4 - Existem relações entre os conjuntos de plataformas que os desenvolvedores suportam?

lhs rhs support confidence lift count
[1] {win} => {independente} 0.4545455 0.9090909 1.250000 10
2 {android} => {independente} 0.4090909 0.8181818 1.125000 9
3 {win,macosx} => {independente} 0.3636364 1.0000000 1.375000 8
4 {macosx,independente} => {win} 0.3636364 0.8888889 1.777778 8
5 {win,independente} => {macosx} 0.3636364 0.8000000 1.466667 8
[6] {android,win} => {independente} 0.3636364 1.0000000 1.375000 8
[7] {android,independente} => {win} 0.3636364 0.8888889 1.777778 8
[8] {win,independente} => {android} 0.3636364 0.8000000 1.600000 8
[9] {iphone} => {win} 0.3181818 1.0000000 2.000000 7
[10] {iphone} => {independente} 0.3181818 1.0000000 1.375000 7
Afinidade (desenvolvedor)
android linux win iphone macosx independente
android 0.0000000 0.5454545 0.5714286 0.3846154 0.4375000 0.5000000
linux 0.5454545 0.0000000 0.4166667 0.4444444 0.2857143 0.2941176
win 0.5714286 0.4166667 0.0000000 0.6363636 0.5333333 0.5882353
iphone 0.3846154 0.4444444 0.6363636 0.0000000 0.4615385 0.4375000
macosx 0.4375000 0.2857143 0.5333333 0.4615385 0.0000000 0.4736842
independente 0.5000000 0.2941176 0.5882353 0.4375000 0.4736842 0.0000000

Crosstable entre as plataformas (count) (desenvolvedor)
independente macosx android win iphone linux
independente 16 9 9 10 7 5
macosx 9 12 7 8 6 4
android 9 7 11 8 5 6
win 10 8 8 11 7 5
iphone 7 6 5 7 7 4
linux 5 4 6 5 4 6
Crosstable entre as plataformas (support) (desenvolvedor)
independente macosx android win iphone linux
independente 0.7272727 0.4090909 0.4090909 0.4545455 0.3181818 0.2272727
macosx 0.4090909 0.5454545 0.3181818 0.3636364 0.2727273 0.1818182
android 0.4090909 0.3181818 0.5000000 0.3636364 0.2272727 0.2727273
win 0.4545455 0.3636364 0.3636364 0.5000000 0.3181818 0.2272727
iphone 0.3181818 0.2727273 0.2272727 0.3181818 0.3181818 0.1818182
linux 0.2272727 0.1818182 0.2727273 0.2272727 0.1818182 0.2727273
QP4.1 - Qual a quantidade de plataformas que os desenvolvedores dão suporte?
Consideramos as plataformas Windows, Linux, macOS, iPhone e Android nesta contagem.

QP4.2 - Dos desenvolvedores que trabalham com uma plataforma, como é a distribuição das plataformas?

QP4.3 - Dos desenvolvedores generalistas, qual a quantidade de plataformas que eles dão suporte?
n_platform n_dev_gen porc_gen
2 2 18.2
3 4 36.4
4 1 9.1
5 4 36.4

QP5 - Existem relações entre os conjuntos de plataformas modificadas em um commit?

Consideramos nesta analise as plataformas suportadas pela biblioteca e o código independente é interpretado como uma plataforma.
lhs rhs support confidence lift count
[1] {Windows,iPhone} => {Independente} 0.0108173 1.0 1.637795 9
2 {Windows,macOS} => {Independente} 0.0108173 1.0 1.637795 9
3 {Android,Windows} => {Independente} 0.0084135 1.0 1.637795 7
4 {Linux,Windows} => {Independente} 0.0060096 1.0 1.637795 5
5 {iPhone,macOS} => {Windows} 0.0048077 1.0 3.816514 4
[6] {iPhone,macOS} => {Independente} 0.0048077 1.0 1.637795 4
[7] {Android,iPhone} => {Windows} 0.0048077 0.8 3.053211 4
[8] {Android,iPhone} => {Independente} 0.0048077 0.8 1.310236 4
[9] {Windows,iPhone,macOS} => {Independente} 0.0048077 1.0 1.637795 4
[10] {iPhone,macOS,Independente} => {Windows} 0.0048077 1.0 3.816514 4
Afinidade (commit)
Android Linux Windows iPhone macOS Independente
Android 0.0000000 0.0194175 0.0234114 0.0370370 0.0198675 0.0365217
Linux 0.0194175 0.0000000 0.0217391 0.0147059 0.0000000 0.0174419
Windows 0.0234114 0.0217391 0.0000000 0.0344828 0.0327273 0.0884558
iPhone 0.0370370 0.0147059 0.0344828 0.0000000 0.0350877 0.0256410
macOS 0.0198675 0.0000000 0.0327273 0.0350877 0.0000000 0.0213523
Independente 0.0365217 0.0174419 0.0884558 0.0256410 0.0213523 0.0000000

Crosstable entre as plataformas (count) (commit)
Independente Windows Android macOS iPhone Linux
Independente 508 59 21 12 14 9
Windows 59 218 7 9 9 5
Android 21 7 88 3 5 2
macOS 12 9 3 66 4 0
iPhone 14 9 5 4 52 1
Linux 9 5 2 0 1 17
Crosstable entre as plataformas (support) (commit)
Independente Windows Android macOS iPhone Linux
Independente 0.6105769 0.0709135 0.0252404 0.0144231 0.0168269 0.0108173
Windows 0.0709135 0.2620192 0.0084135 0.0108173 0.0108173 0.0060096
Android 0.0252404 0.0084135 0.1057692 0.0036058 0.0060096 0.0024038
macOS 0.0144231 0.0108173 0.0036058 0.0793269 0.0048077 0.0000000
iPhone 0.0168269 0.0108173 0.0060096 0.0048077 0.0625000 0.0012019
Linux 0.0108173 0.0060096 0.0024038 0.0000000 0.0012019 0.0204327

QP5.1 - Quantas plataformas são modificadas em conjunto em uma tarefa de manutenção?

Platform Commit %
0 424 51.0
1 384 46.2
2 18 2.2
3 3 0.4
4 3 0.4
QP5.2 - Dos commits que modificaram uma plataforma, como é a distribuição de plataformas?
Distribuição de plataformas dos commits que modificaram apenas o código especifico de uma plataforma
Platform Mod. Total Mod. uma % moduma_modtotal modtotal_summodtotal
Android 88 65 73.86364 19.954649
iPhone 52 37 71.15385 11.791383
Linux 17 7 41.17647 3.854875
macOS 66 54 81.81818 14.965986
Windows 218 159 72.93578 49.433107
QP5.3 - Qual a porcentagem de commits que modificaram o código independente junto com algum código específico de plataforma?
Neste calculo de porcentagem consideramos como denominador o número total de commits que modificaram o código específico de alguma

Total de commits: [1] 832

Total de commits que modificaram o código específico de pelo menos uma plataforma (Denominador): [1] 408

Porcentagem: [1] 20.58824

Análise temporal

QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

KPSS Test for Level Stationarity

data: dev_all_time2$porcentage KPSS Level = 0.54673, Truncation lag parameter = 2, p-value = 0.03114

KPSS Test for Trend Stationarity

data: dev_all_time2$porcentage KPSS Trend = 0.52377, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Level Stationarity

data: dev_all_time2$n KPSS Level = 3.0066, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_all_time2$n KPSS Trend = 0.2305, Truncation lag parameter = 2, p-value = 0.01

QP2.2 - Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

2

KPSS Test for Level Stationarity

data: dev_gen_med$n KPSS Level = 2.9735, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_med$n KPSS Trend = 0.22797, Truncation lag parameter = 2, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time2$porcentage KPSS Level = 1.605, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time2$porcentage KPSS Trend = 0.11711, Truncation lag parameter = 2, p-value = 0.1

3

KPSS Test for Level Stationarity

data: dev_gen_time3$porcentage KPSS Level = 0.99555, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time3$porcentage KPSS Trend = 0.51254, Truncation lag parameter = 2, p-value = 0.01

4

KPSS Test for Level Stationarity

data: dev_gen_time4$porcentage KPSS Level = 2.267, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time4$porcentage KPSS Trend = 0.43433, Truncation lag parameter = 1, p-value = 0.01

5

KPSS Test for Level Stationarity

data: dev_gen_time5$porcentage KPSS Level = 1.755, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time5$porcentage KPSS Trend = 0.71193, Truncation lag parameter = 1, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time2$n KPSS Level = 0.84244, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time2$n KPSS Trend = 0.12871, Truncation lag parameter = 2, p-value = 0.08201

3

KPSS Test for Level Stationarity

data: dev_gen_time3$n KPSS Level = 0.87846, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time3$n KPSS Trend = 0.52534, Truncation lag parameter = 2, p-value = 0.01

4

KPSS Test for Level Stationarity

data: dev_gen_time4$n KPSS Level = 1.6751, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time4$n KPSS Trend = 0.39145, Truncation lag parameter = 1, p-value = 0.01

5

KPSS Test for Level Stationarity

data: dev_gen_time5$n KPSS Level = 2.8882, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time5$n KPSS Trend = 0.65918, Truncation lag parameter = 1, p-value = 0.01

QP3.1 - Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

KPSS Test for Level Stationarity

data: devicetype_time2$porcentage KPSS Level = 0.50908, Truncation lag parameter = 2, p-value = 0.03962

KPSS Test for Trend Stationarity

data: devicetype_time2$porcentage KPSS Trend = 0.4516, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Level Stationarity

data: devicetype_time2$developer KPSS Level = 3.0273, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: devicetype_time2$developer KPSS Trend = 0.30648, Truncation lag parameter = 2, p-value = 0.01

Análise temporal com janela deslizante

Janela de 24 semanas

QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

KPSS Test for Level Stationarity

data: dev_all_time24_2$porcentage KPSS Level = 0.19834, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_all_time24_2$porcentage KPSS Trend = 0.18002, Truncation lag parameter = 2, p-value = 0.02349

KPSS Test for Level Stationarity

data: dev_all_time24_2$n KPSS Level = 0.87471, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_all_time24_2$n KPSS Trend = 0.14319, Truncation lag parameter = 2, p-value = 0.05521

QP2.2 - Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

2

KPSS Test for Level Stationarity

data: dev_gen_med24$n KPSS Level = 0.86499, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_med24$n KPSS Trend = 0.1416, Truncation lag parameter = 2, p-value = 0.05815

2

KPSS Test for Level Stationarity

data: dev_gen_time24_2$porcentage KPSS Level = 0.59267, Truncation lag parameter = 1, p-value = 0.0233

KPSS Test for Trend Stationarity

data: dev_gen_time24_2$porcentage KPSS Trend = 0.15491, Truncation lag parameter = 1, p-value = 0.04257

3

KPSS Test for Level Stationarity

data: dev_gen_time24_3$porcentage KPSS Level = 0.14015, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_3$porcentage KPSS Trend = 0.13833, Truncation lag parameter = 1, p-value = 0.06421

4

KPSS Test for Level Stationarity

data: dev_gen_time24_4$porcentage KPSS Level = 0.14803, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_4$porcentage KPSS Trend = 0.068223, Truncation lag parameter = 1, p-value = 0.1

5

KPSS Test for Level Stationarity

data: dev_gen_time24_5$porcentage KPSS Level = 0.32542, Truncation lag parameter = 0, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_5$porcentage KPSS Trend = 0.10324, Truncation lag parameter = 0, p-value = 0.1

2

KPSS Test for Level Stationarity

data: dev_gen_time24_2$n KPSS Level = 0.1367, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_2$n KPSS Trend = 0.062689, Truncation lag parameter = 1, p-value = 0.1

3

KPSS Test for Level Stationarity

data: dev_gen_time24_3$n KPSS Level = 0.95653, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time24_3$n KPSS Trend = 0.16533, Truncation lag parameter = 1, p-value = 0.03389

4

KPSS Test for Level Stationarity

data: dev_gen_time24_4$n KPSS Level = 0.19587, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_4$n KPSS Trend = 0.12175, Truncation lag parameter = 1, p-value = 0.09491

5

KPSS Test for Level Stationarity

data: dev_gen_time24_5$n KPSS Level = 0.32407, Truncation lag parameter = 0, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_5$n KPSS Trend = 0.12963, Truncation lag parameter = 0, p-value = 0.08032

QP3.1 - Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

KPSS Test for Level Stationarity

data: devicetype_time24_2$porcentage KPSS Level = 0.72674, Truncation lag parameter = 2, p-value = 0.01111

KPSS Test for Trend Stationarity

data: devicetype_time24_2$porcentage KPSS Trend = 0.058864, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Level Stationarity

data: devicetype_time24_2$developer KPSS Level = 1.4391, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: devicetype_time24_2$developer KPSS Trend = 0.20312, Truncation lag parameter = 2, p-value = 0.01483

Rastreamento dos desenvolvedores

Selecionamos os desenvolvedores que comitaram nas primeiras 24 semanas do periodo de análise e verificamos o numero de plataformas que eles fizeram trabalharam em cada janela de tempo

As plataformas consideradas foram: win, iphone, linux, macos, e android

Filtrei alguns desenvolvedores com poucos commits pq o plot.ts so aceita matriz de ate 10 colunas

————————————————————————-

SDL

QP1 - Como é a distribuição de tarefas de manutenção entre o código independente e específico de plataforma?

Especifico -> Soma da quantidade de vezes que o código específico de cada plataforma é modificado.
Independente -> Quantidade de vezes que o codigo independente é modificado sozinho
especifico -> Quantidade de vezes que o codigo especifico de uma ou mais plataformas é modificado
ambos -> Quantidade de vezes que o codigo especifico e independente de uma ou mais plataformas sao modificados em conjunto

QP1.1 Qual plataforma é modificada com mais frequência?.
Contamos a quantidade de vezes que o código específico de cada plataforma é modificado.

QP2 - A equipe de desenvolvimento de bibliotecas multiplataforma é formada majoritariamente por desenvolvedores generalistas ou especialistas em plataformas?

esp -> desenvolvedores que trabalham apenas com uma plataforma.
gen -> desenvolvedores que trabalham com mais de uma plataforma.
NA -> desenvolvedores que tranbalham apenas com o código independente.
tipo n porc_dev
esp 35 49.3
gen 17 23.9
NA 19 26.8
QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialita em plataformas ao lonto do tempo?

QP3 - Os desenvolvedores de bibliotecas multiplataforma são especialistas em plataformas de um determinado tipo de dispositivo ou trabalham com plataformas de mais de um tipo de dispositivo?

None -> desenvolvedores que tranbalham apenas com o código independente.
Desktop -> desenvolvedores que tranbalham apenas com o código plataformas de dispositivos desktop
Mobile -> desenvolvedores que tranbalham apenas com o código plataformas de dispositivos mobile
Both -> desenvolvedores que tranbalham com o código plataformas de dispositivos mobile e desktop
dispositivo n_todos porc_todos
None 19 26.76056
Desktop 36 50.70423
Mobile 8 11.26761
Both 8 11.26761
QP3.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialita em dipositivos ao lonto do tempo?

QP4 - Existem relações entre os conjuntos de plataformas que os desenvolvedores suportam?

lhs rhs support confidence lift count
[1] {macosx} => {independente} 0.1971831 1.0000000 1.577778 14
2 {linux,win} => {independente} 0.1690141 1.0000000 1.577778 12
3 {win,independente} => {linux} 0.1690141 0.9230769 1.872527 12
4 {win,macosx} => {independente} 0.1549296 1.0000000 1.577778 11
5 {win,independente} => {macosx} 0.1549296 0.8461538 4.291209 11
[6] {linux,macosx} => {independente} 0.1549296 1.0000000 1.577778 11
[7] {win,macosx} => {linux} 0.1408451 0.9090909 1.844156 10
[8] {linux,macosx} => {win} 0.1408451 0.9090909 3.397129 10
[9] {linux,win} => {macosx} 0.1408451 0.8333333 4.226191 10
[10] {linux,win,macosx} => {independente} 0.1408451 1.0000000 1.577778 10
Afinidade (desenvolvedor)
android linux win iphone macosx independente
android 0.0000000 0.1190476 0.1923077 0.3125000 0.2380952 0.1875000
linux 0.1190476 0.0000000 0.2857143 0.1000000 0.2894737 0.3114754
win 0.1923077 0.2857143 0.0000000 0.2173913 0.5000000 0.2549020
iphone 0.3125000 0.1000000 0.2173913 0.0000000 0.2777778 0.1739130
macosx 0.2380952 0.2894737 0.5000000 0.2777778 0.0000000 0.3111111
independente 0.1875000 0.3114754 0.2549020 0.1739130 0.3111111 0.0000000

Crosstable entre as plataformas (count) (desenvolvedor)
independente linux win macosx android iphone
independente 45 19 13 14 9 8
linux 19 35 12 11 5 4
win 13 12 19 11 5 5
macosx 14 11 11 14 5 5
android 9 5 5 5 12 5
iphone 8 4 5 5 5 9
Crosstable entre as plataformas (support) (desenvolvedor)
independente linux win macosx android iphone
independente 0.6338028 0.2676056 0.1830986 0.1971831 0.1267606 0.1126761
linux 0.2676056 0.4929577 0.1690141 0.1549296 0.0704225 0.0563380
win 0.1830986 0.1690141 0.2676056 0.1549296 0.0704225 0.0704225
macosx 0.1971831 0.1549296 0.1549296 0.1971831 0.0704225 0.0704225
android 0.1267606 0.0704225 0.0704225 0.0704225 0.1690141 0.0704225
iphone 0.1126761 0.0563380 0.0704225 0.0704225 0.0704225 0.1267606
QP4.1 - Qual a quantidade de plataformas que os desenvolvedores dão suporte?
Consideramos as plataformas Windows, Linux, macOS, iPhone e Android nesta contagem.

QP4.2 - Dos desenvolvedores que trabalham com uma plataforma, como é a distribuição das plataformas?

QP4.3 - Dos desenvolvedores generalistas, qual a quantidade de plataformas que eles dão suporte?
n_platform n_dev_gen porc_gen
2 5 29.4
3 7 41.2
4 2 11.8
5 3 17.6

QP5 - Existem relações entre os conjuntos de plataformas modificadas em um commit?

Consideramos nesta analise as plataformas suportadas pela biblioteca e o código independente é interpretado como uma plataforma.
lhs rhs support confidence lift count
[1] {Linux,Windows} => {Independente} 0.0170081 0.9166667 1.846898 44
2 {Windows,macOS} => {Independente} 0.0081175 0.8400000 1.692430 21
3 {Linux,macOS} => {Independente} 0.0077310 0.9090909 1.831634 20
4 {Android,Windows} => {Independente} 0.0061848 0.9411765 1.896280 16
5 {Linux,Windows,macOS} => {Independente} 0.0061848 0.9411765 1.896280 16
[6] {Linux,macOS,Independente} => {Windows} 0.0061848 0.8000000 3.409555 16
[7] {Android,Linux} => {Independente} 0.0054117 0.8750000 1.762948 14
[8] {Android,iPhone} => {Independente} 0.0050251 0.8125000 1.637023 13
[9] {Android,Linux} => {Windows} 0.0050251 0.8125000 3.462829 13
[10] {Linux,iPhone} => {Windows} 0.0046386 0.8571429 3.653095 12
Afinidade (commit)
Android Linux Windows iPhone macOS Independente
Android 0.0000000 0.0256410 0.0225764 0.0477612 0.0265957 0.0226148
Linux 0.0256410 0.0000000 0.0463320 0.0215054 0.0324484 0.0589296
Windows 0.0225764 0.0463320 0.0000000 0.0179257 0.0310559 0.0671558
iPhone 0.0477612 0.0215054 0.0179257 0.0000000 0.0352645 0.0236439
macOS 0.0265957 0.0324484 0.0310559 0.0352645 0.0000000 0.0371645
Independente 0.0226148 0.0589296 0.0671558 0.0236439 0.0371645 0.0000000

Crosstable entre as plataformas (count) (commit)
Independente Windows Linux macOS iPhone Android
Independente 1284 119 98 54 34 32
Windows 119 607 48 25 14 17
Linux 98 48 477 22 14 16
macOS 54 25 22 223 14 10
iPhone 34 14 14 14 188 16
Android 32 17 16 10 16 163
Crosstable entre as plataformas (support) (commit)
Independente Windows Linux macOS iPhone Android
Independente 0.4963278 0.0459992 0.0378817 0.0208736 0.0131426 0.0123695
Windows 0.0459992 0.2346347 0.0185543 0.0096637 0.0054117 0.0065713
Linux 0.0378817 0.0185543 0.1843835 0.0085041 0.0054117 0.0061848
macOS 0.0208736 0.0096637 0.0085041 0.0862002 0.0054117 0.0038655
iPhone 0.0131426 0.0054117 0.0054117 0.0054117 0.0726710 0.0061848
Android 0.0123695 0.0065713 0.0061848 0.0038655 0.0061848 0.0630073

QP5.1 - Quantas plataformas são modificadas em conjunto em uma tarefa de manutenção?

Platform Commit %
0 1052 40.7
1 1457 56.3
2 53 2.0
3 13 0.5
4 4 0.2
5 8 0.3
QP5.2 - Dos commits que modificaram uma plataforma, como é a distribuição de plataformas?
Distribuição de plataformas dos commits que modificaram apenas o código especifico de uma plataforma
Platform Mod. Total Mod. uma % moduma_modtotal modtotal_summodtotal
Android 163 127 77.91411 9.831122
iPhone 188 147 78.19149 11.338963
Linux 477 373 78.19706 28.769602
macOS 223 162 72.64574 13.449940
Windows 607 480 79.07743 36.610374
QP5.3 - Qual a porcentagem de commits que modificaram o código independente junto com algum código específico de plataforma?
Neste calculo de porcentagem consideramos como denominador o número total de commits que modificaram o código específico de alguma

Total de commits: [1] 2587

Total de commits que modificaram o código específico de pelo menos uma plataforma (Denominador): [1] 1535

Porcentagem: [1] 15.11401

Análise temporal

QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

KPSS Test for Level Stationarity

data: dev_all_time2$porcentage KPSS Level = 1.2384, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_all_time2$porcentage KPSS Trend = 0.20625, Truncation lag parameter = 2, p-value = 0.01366

KPSS Test for Level Stationarity

data: dev_all_time2$n KPSS Level = 2.8697, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_all_time2$n KPSS Trend = 0.57716, Truncation lag parameter = 2, p-value = 0.01

QP2.2 - Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

2

KPSS Test for Level Stationarity

data: dev_gen_med$n KPSS Level = 2.8375, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_med$n KPSS Trend = 0.57067, Truncation lag parameter = 2, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time2$porcentage KPSS Level = 0.19127, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time2$porcentage KPSS Trend = 0.094429, Truncation lag parameter = 2, p-value = 0.1

3

KPSS Test for Level Stationarity

data: dev_gen_time3$porcentage KPSS Level = 1.2217, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time3$porcentage KPSS Trend = 0.21128, Truncation lag parameter = 2, p-value = 0.01177

4

KPSS Test for Level Stationarity

data: dev_gen_time4$porcentage KPSS Level = 0.45178, Truncation lag parameter = 1, p-value = 0.05484

KPSS Test for Trend Stationarity

data: dev_gen_time4$porcentage KPSS Trend = 0.15202, Truncation lag parameter = 1, p-value = 0.04499

5

KPSS Test for Level Stationarity

data: dev_gen_time5$porcentage KPSS Level = 1.8975, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time5$porcentage KPSS Trend = 0.59203, Truncation lag parameter = 2, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time2$n KPSS Level = 1.9432, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time2$n KPSS Trend = 0.27511, Truncation lag parameter = 2, p-value = 0.01

3

KPSS Test for Level Stationarity

data: dev_gen_time3$n KPSS Level = 2.2945, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time3$n KPSS Trend = 0.28712, Truncation lag parameter = 2, p-value = 0.01

4

KPSS Test for Level Stationarity

data: dev_gen_time4$n KPSS Level = 0.78599, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time4$n KPSS Trend = 0.29177, Truncation lag parameter = 1, p-value = 0.01

5

KPSS Test for Level Stationarity

data: dev_gen_time5$n KPSS Level = 1.8356, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time5$n KPSS Trend = 0.34042, Truncation lag parameter = 2, p-value = 0.01

QP3.1 - Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

KPSS Test for Level Stationarity

data: devicetype_time2$porcentage KPSS Level = 1.7108, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: devicetype_time2$porcentage KPSS Trend = 0.072583, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Level Stationarity

data: devicetype_time2$developer KPSS Level = 2.7228, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: devicetype_time2$developer KPSS Trend = 0.65543, Truncation lag parameter = 2, p-value = 0.01

Análise temporal com janela deslizante

Janela de 24 semanas

QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

KPSS Test for Level Stationarity

data: dev_all_time24_2$porcentage KPSS Level = 0.65129, Truncation lag parameter = 2, p-value = 0.01797

KPSS Test for Trend Stationarity

data: dev_all_time24_2$porcentage KPSS Trend = 0.19798, Truncation lag parameter = 2, p-value = 0.01676

KPSS Test for Level Stationarity

data: dev_all_time24_2$n KPSS Level = 0.32918, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_all_time24_2$n KPSS Trend = 0.31048, Truncation lag parameter = 2, p-value = 0.01

QP2.2 - Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

2

KPSS Test for Level Stationarity

data: dev_gen_med24$n KPSS Level = 0.32548, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_med24$n KPSS Trend = 0.30699, Truncation lag parameter = 2, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time24_2$porcentage KPSS Level = 0.23508, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_2$porcentage KPSS Trend = 0.096555, Truncation lag parameter = 1, p-value = 0.1

3

KPSS Test for Level Stationarity

data: dev_gen_time24_3$porcentage KPSS Level = 0.71161, Truncation lag parameter = 1, p-value = 0.01249

KPSS Test for Trend Stationarity

data: dev_gen_time24_3$porcentage KPSS Trend = 0.13963, Truncation lag parameter = 1, p-value = 0.06179

4

KPSS Test for Level Stationarity

data: dev_gen_time24_4$porcentage KPSS Level = 0.2628, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_4$porcentage KPSS Trend = 0.2479, Truncation lag parameter = 1, p-value = 0.01

5

KPSS Test for Level Stationarity

data: dev_gen_time24_5$porcentage KPSS Level = 1.0133, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time24_5$porcentage KPSS Trend = 0.44432, Truncation lag parameter = 1, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time24_2$n KPSS Level = 0.33587, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_2$n KPSS Trend = 0.29012, Truncation lag parameter = 1, p-value = 0.01

3

KPSS Test for Level Stationarity

data: dev_gen_time24_3$n KPSS Level = 0.19409, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_3$n KPSS Trend = 0.15138, Truncation lag parameter = 1, p-value = 0.04552

4

KPSS Test for Level Stationarity

data: dev_gen_time24_4$n KPSS Level = 0.17144, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_4$n KPSS Trend = 0.095765, Truncation lag parameter = 1, p-value = 0.1

5

KPSS Test for Level Stationarity

data: dev_gen_time24_5$n KPSS Level = 0.27243, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_5$n KPSS Trend = 0.16159, Truncation lag parameter = 1, p-value = 0.03701

QP3.1 - Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

KPSS Test for Level Stationarity

data: devicetype_time24_2$porcentage KPSS Level = 0.511, Truncation lag parameter = 2, p-value = 0.03919

KPSS Test for Trend Stationarity

data: devicetype_time24_2$porcentage KPSS Trend = 0.27949, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Level Stationarity

data: devicetype_time24_2$developer KPSS Level = 0.41096, Truncation lag parameter = 2, p-value = 0.07243

KPSS Test for Trend Stationarity

data: devicetype_time24_2$developer KPSS Trend = 0.17357, Truncation lag parameter = 2, p-value = 0.02702

Rastreamento dos desenvolvedores

Selecionamos os desenvolvedores que comitaram nas primeiras 24 semanas do periodo de análise e verificamos o numero de plataformas que eles fizeram trabalharam em cada janela de tempo

As plataformas consideradas foram: win, iphone, linux, macos, e android

Filtrei alguns desenvolvedores com poucos commits pq o plot.ts so aceita matriz de ate 10 colunas

————————————————————————-